--- ./kazam/backend/prefs.py.orig	2014-08-18 16:48:36.000000000 +0000
+++ ./kazam/backend/prefs.py	2014-08-30 21:36:17.000000000 +0000
@@ -21,6 +21,7 @@
 
 import os
 import logging
+import platform
 from os.path import expanduser
 from gettext import gettext as _
 from xdg.BaseDirectory import xdg_config_home
@@ -111,7 +112,7 @@
         #
         self.debug = False
         self.test = False
-        self.dist = ('Ubuntu', '12.10', 'quantal')
+        self.dist = platform.system_alias(platform.system(), platform.release(), '')
         self.silent = False
         self.sound = True
         self.first_run = True
@@ -344,27 +345,18 @@
     Gst.init(None)
 
     codecs_supported = []
-    codec_test = None
+    gst_codecs = Gst.Registry.get().get_feature_list(Gst.ElementFactory)
     for codec in CODEC_LIST:
         logger.debug("Testing for: {0}".format(codec[2]))
-        if codec[0]:
-            try:
-                codec_test = Gst.ElementFactory.make(codec[1], "video_encoder")
-                logger.debug("Error loading {0} GStreamer plugin - support disabled.".format(codec))
-            except:
-                codec_test = None
-
-            if codec_test:
-                codecs_supported.append(codec[0])
-                logger.debug("Supported encoder: {0}.".format(codec[2]))
-            else:
-                logger.debug("Unable to find {0} GStreamer plugin - support disabled.".format(codec))
-
+        if codec[1] is not None:
+            for i in gst_codecs:
+                if codec[1] == i.get_name():
+                    codecs_supported.append(codec[0])
+                    logger.debug("Supported encoder: {0}.".format(codec[2]))
+                    break
+        # RAW codec is None, so we don't try to load it.
         else:
-            # RAW codec is None, so we don't try to load it.
             codecs_supported.append(codec[0])
-            logger.debug("Supported encoder: {0}.".format(codec[2]))
-        codec_test = None
     return codecs_supported
 
 
